1. Field of the Invention
The present invention relates to a system for processing three-dimensional shape data for use in combining geometric models (various types of shape data including range images) of a plurality of portions of an object which are different from one anther.
2. Description of the Related Art
Three-dimensional measuring devices of the noncontact type which are termed rangefinders are adapted for measurement at a higher speed than those of the contact type and are therefore used in inputting data to CG systems and CAD systems, measuring human bodies and visual recognition by robots.
The slit beam projection method (also termed the light-section method) is known as a measuring method suited to rangefinders. This method affords three-dimensional images (range images) on the principle of triangulation by optically scanning an object, and is a kind of positive measuring method wherein specified detection light is projected to photograph the object. The three-dimensional image is a set of pixels representing the positions of sampling points on the object in the coordinate system of the camera, and is a kind of geometric model. Used as the detection light in the slit beam projection method is a slit beam which is linear in cross section. Also known are light projection methods using spotlight, stepped light or concentration pattern light instead of the slit beam.
In the three-dimensional measurement of an object by photographing the object from one direction, an invisible region occurs, so that it is impossible to measure the entire object by photographing a single image. It is therefore usual practice to photograph the object from a plurality of positions which are in directions different from one another when viewed from the objects, and to compose the range images obtained by photographing operations. Prior to the composition, the range images need to be matched in position so as to correctly reproduce the object.
To facilitate the position matching of range images, a three-dimensional measuring method has already been proposed which uses a rotary table for placing an object thereon, changing the photographing direction by rotating the table and placing a reference object thereon to obtain data as to the position of the axis of rotation (JP-A-259809/1992). With this method, a plurality of range images can be matched in position by rotating each image about the axis of rotation by an amount corresponding to the amount of rotation of the table for coordinate transformation. This method further permits the rangefinder to be positioned as desired relative to the rotary table (the object), assures the photographing conditions of greater freedom and eliminates the need to accurately measure the position of the rotation axis in the coordinate system of the camera before photographing.
In principle, the range images can be matched in position if the position of the rotation axis and the angle of rotation of the table are given, whereas displacement of each range image is inevitable in actuality owing to an error in the measurement by the rangefinder. In the case where the position of the rotation axis is calculated based on the data obtained by photographing the reference object, calculation errors will cause displacement of the range image.
On the other hand, various methods are proposed for the so-called merge processing wherein a plurality of geometric models corresponding to partially lapping regions of the surface of one object which are different from one another are three-dimensionally so arranged that the laps are in match. For example, "Zippered Polygon Meshes from Range Images," SIGRAPH'94 Proceeding Greg Turk and Marc Lovoy, Computer Science Department, Stanford University, discloses a method wherein points are extracted from each geometric model which should be in match with points on another geometric model (i.e. corresponding points), and a rotation matrix and amount of translation are determined for the coordinate transformation of the geometric models so as to minimize the total sum of distances between the corresponding points. With such merge processing, nevertheless, the six parameters (x. y, z, .theta.x, .theta.y, .theta.z) for specifying the position of origin of the coordinate system and the inclination of the three coordinate axes must be successively altered for each geometric model to find an optimum position-matched state. Consequently, the calculation needed results in a heavy burden, and no proper solution is frequently available within a practical period of time. Additionally, in the case where the geometric models are successively processed one by one for position matching in such manner that a second model is optimized relative to a first model, and a third model is thereafter optimized relative to the second, errors will accumulate to entail successively increased displacements.